﻿using System;
using System.Collections.Generic;
using System.Data;

class Program
{
    static void Main(string[] args)
    {
        // 假设datatable名称为dt
        DataTable dt = new DataTable();

        // 选择average_resistance列中值在0.4~0.8范围内的记录
        List<DataRow> selectedRows = new List<DataRow>();
        foreach (DataRow row in dt.Rows)
        {
            if (Convert.ToDecimal(row["average_resistance"]) >= 0.4m &&
                Convert.ToDecimal(row["average_resistance"]) <= 0.8m)
            {
                selectedRows.Add(row);
            }
        }

        // 随机选择30行（如果有30行可供选择）
        List<DataRow> randomRows = new List<DataRow>();
        if (selectedRows.Count >= 30)
        {
            var rand = new Random();
            for (int i = 0; i < 30; i++)
            {
                int index = rand.Next(selectedRows.Count);
                randomRows.Add(selectedRows[index]);
                selectedRows.RemoveAt(index);
            }
        }
        else
        {
            randomRows = selectedRows;
        }

        // 计算选定行的平均值
        decimal average = 0;
        foreach (DataRow row in randomRows)
        {
            average += Convert.ToDecimal(row["average_resistance"]);
        }

        average /= randomRows.Count;

        // 如果平均值在0.5~0.6范围内，则返回结果的行记录
        List<DataRow> resultRows = new List<DataRow>();
        foreach (DataRow row in randomRows)
        {
            if (Convert.ToDecimal(row["average_resistance"]) >= 0.5m &&
                Convert.ToDecimal(row["average_resistance"]) <= 0.6m)
            {
                resultRows.Add(row);
            }
        }

        // 输出结果的行记录
        foreach (DataRow row in resultRows)
        {
            Console.WriteLine(row["barcode_no"]);
        }
    }
}